Skip to content

Conversation

@Jasmine-Yuting-Zhang
Copy link
Collaborator

This PR introduces support for the PatchTSMixer model in the Plato federated learning framework for time series forecasting tasks.

Description

Specifically, this PR:

  • Added ETT.py to support the Electricity Transformer dataset, including data loading, preprocessing, and federated partitioning logic.
  • Integrated the PatchTSMixer model architecture in HuggingFace for time series forecasting within Plato.
  • Added TOML configuration files for PatchTSMixer experiments under configs/TimeSeries/.
  • Added mean squared error (MSE)–based evaluation for PatchTSMixer experiments.

How has this been tested?

Quick check evaluation:

uv run python plato.py --config configs/TimeSeries/patchtsmixer_custom.toml

This configuration runs only 3 rounds, which is useful for quick functional tests and CORE-style checks. The run completed successfully without runtime errors.

Longer training run:

uv run python plato.py --config configs/TimeSeries/patchtsmixer_large.toml

This configuration uses more rounds. After 400 rounds, the MSE dropped from 7.14 to around 1.30, indicating that the model and data pipeline are working as expected.

Types of changes

  • Bug fix (non-breaking change which fixes an issue) Fixes #
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • My code has been formatted using the Ruff formatter (ruff format) and checked using the Ruff linter (ruff check --fix).
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.

baochunli and others added 30 commits October 28, 2025 08:51
- Resolved a RuntimeError caused by non-contiguous tensors during view operations (in nanochat - gpt.py):
"view size is not compatible with input tensor's size and stride...". Replaced .view() with .reshape()
- Resolved an issue where the configuration requested 'train_loss' in the results, but the server's get_logged_items() did not include it.
- To avoid vocabulary size mismatch between model and tokenizer during CORE evaluation.
- Updated log message from "global accuracy" to "Average Centered CORE benchmark metric"
- Used ruff to format code
- Added instructions for initializing submodules and resolving maturin build failure.
- Included configurations for both pre-trained and custom modes.
@netlify
Copy link

netlify bot commented Dec 1, 2025

Deploy Preview for platodocs canceled.

Name Link
🔨 Latest commit 20ab574
🔍 Latest deploy log https://app.netlify.com/projects/platodocs/deploys/692f507818245f0008203aed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants